 <?php

function rtdos_filtrado($limitar){
    
    
    $orden_usr= (isset($_GET["orden"]))?$_GET["orden"]:'default';
    $pag_base= (isset($_GET["pag_base"]))?$_GET["pag_base"]:0;
    
    $c_categoria= isset($_GET["categoria"])? $_GET["categoria"] : "todos";
    $c_direccion = isset($_GET["direccion"])? $_GET["direccion"] : "";
    $c_operacion= isset($_GET["operacion"])? $_GET["operacion"] : "todos";
    $c_dormitorios = isset($_GET["dormitorios"])? $_GET["dormitorios"] : "todos";;
    $c_antiguedad = isset($_GET["antiguedad"])? $_GET["antiguedad"] : "todos";
    $c_precio= isset($_GET["precio"])? $_GET["precio"] : "todos";
    
    $c_tipo_orden=isset($_GET["tipo_orden"])? $_GET["tipo_orden"] : "ASC";
    
    include_once 'conectar_bd.php';
    $base=  conectar_solo_lectura();
    
    $query = "SELECT valor FROM estilo WHERE elemento = 'paginado'";
    $rtdo= $base->query($query);
    $arr = $rtdo->fetchArray();
    $max=$arr['valor'];
    
    $query = "SELECT valor FROM estilo WHERE elemento = 'orden'";
    $rtdo= $base->query($query);
    $arr = $rtdo->fetchArray();
    $orden_admin=$arr['valor'];
    
    $expr = "direccion LIKE '%$c_direccion%'";
    
    if($c_categoria != "todos")
        $expr.=" AND nombre_categoria='$c_categoria'";
    
    if($c_operacion != "todos")
        $expr .= " AND nombre_operacion='$c_operacion'";
    
    if($c_dormitorios != "todos"){
        if($c_dormitorios =="mas")
            $expr .= " AND dormitorios > 5";
        else
            $expr .= " AND dormitorios = $c_dormitorios";
    }
    
    if($c_antiguedad != "todos"){
        if($c_antiguedad =="mas")
            $expr .= " AND antiguedad > 30";
        else
            $expr .= " AND antiguedad <= $c_antiguedad";
    }
    
    if($c_precio != "todos"){
        if($c_precio =="mas")
            $expr .= " AND precio > 100000";
        else
            $expr .= " AND precio <= $c_precio";
    }
    
    if($orden_usr=='default'){
        $expr .= " ORDER BY $orden_admin $c_tipo_orden"; // acá se define el orden
    }else{
        $expr .= " ORDER BY $orden_usr $c_tipo_orden";
    }
    
    if($limitar)
        $expr .= " limit (($pag_base-1)*$max), $max"; // aca se realiza el paginado por sql
    $query = "SELECT *, (SELECT Count(id_usuario) FROM favoritos where id_propiedad=propiedades.id_propiedad) AS favoritos FROM propiedades NATURAL JOIN operaciones NATURAL JOIN categorias WHERE $expr";
    
    return $base->query($query);
}
 
?>